package com.dx.financehy.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * description : 用于幂等性校验
 */
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Prevent {

    /**
     * key前缀
     */
    String prefix() default "";

    /**
     * key后缀
     */
    String suffix() default "";

    /**
     * key后缀若未配置，是否需要默认为userId
     */
    boolean isSuffixUserId() default true;

    /**
     * key过期时间
     */
    int time() default 8;

    /**
     * key时间单位
     */
    TimeUnit unit() default TimeUnit.SECONDS;

    /**
     * key提示词
     */
    String message() default "请勿重复提交！";
}

